/**
 * Copyright 2008-2009. Chongqing Communications Industry Services Co.,Ltd Information Technology Branch. All rights
 * reserved. <a>http://www.cqcis.com</a>
 */
package com.cqcis.uip.base.framework.core;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.cqcis.uip.base.framework.common.Role;

/**
 * 标识服务角色的注解，可以代替原XML配置文件中写死Adaptor名称的方法.
 * 
 * @author huangmy
 * @date   2008-6-20
 */
@Inherited
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ServiceRole {
    Role value(); // 角色
    String property() default ""; // 属性, 主要用于可定制化角色
    String[] metas() default {}; // 附加的元数据描述, 用于附加条件参数
}

/**
 * 使用说明：
 * 1. 角色为 HTTPINVOKER_EXPORT 时, 元数据 metas 有:
 *    url - 应用对应的URL地址，覆盖默认的以Service接口命名url地址
 *    serviceInterface - 需要发布的对应接口class全名, 覆盖默认的声明接口class全名
 *    invokelog - 是否打印method invoke 日志
 * 
 */